<?php

namespace UFSW\DataBaseBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * Jugador
 *
 * @ORM\Table(name="jugador")
 * @ORM\Entity(repositoryClass="UFSW\DataBaseBundle\Entity\JugadorRepository")
 */
class Jugador
{
    
    /**
     * @ORM\OneToOne(targetEntity="UFSW\DataBaseBundle\Entity\Usuario")
     * @ORM\JoinColumn(name="id", referencedColumnName="id") 
     */
    private $usuario;
    
    /**
     * @var integer
     * @ORM\Id
     * @ORM\Column(name="numIdentificador", type="integer") 
     */
    private $numIdentificador;
    
    /**
     * @var integer
     *
     * @ORM\Column(name="identificador", type="integer")
     */
    private $identificador;
    
    /**
     * @var integer
     * @ORM\Id
     * @ORM\Column(name="fecNac", type="integer")
     */
    private $fecNac;
    
    /**
     * @ORM\ManyToOne(targetEntity="UFSW\DataBaseBundle\Entity\Equipo", inversedBy="jugadores")
     * @ORM\JoinColumn(name="equipo_id", referencedColumnName="id")
     */
    private $equipo;

    /**
     * @ORM\oneToMany(targetEntity="UFSW\DataBaseBundle\Entity\Estadistica", mappedBy="numIdentificador")
     */
    private $estadisticas;

    public function __construct()
    {
        $this->estadisticas = new ArrayCollection();
    }
    
    /**
     * Set Usuario
     * @param $usuario
     * return Jugador
     */
    public function setUsuario(Usuario $usuario)
    {
        $this->usuario = $usuario;
        return $this;
    }
    /**
     * Get Usuario
     *
     * @return Usuario 
     */
    public function getUsuario()
    {
        return $this->usuario;
    }

    /**
     * Set equipo
     *
     * @param $equipo
     * @return Jugador
     */
    public function setEquipo(Equipo $equipo)
    {
        $this->equipo = $equipo;

        return $this;
    }

    /**
     * Get equipo
     *
     * @return UFSW\DataBaseBundle\Entity\Equipo 
     */
    public function getEquipo()
    {
        return $this->equipo;
    }
    
    /**
     * Set numIdentificador
     *
     * @param integer $numIdentificador
     * @return Jugador
     */
    public function setNumIdentificador($numIdentificador)
    {
        $this->numIdentificador = $numIdentificador;

        return $this;
    }

    /**
     * Get numIdentificador
     *
     * @return integer 
     */
    public function getNumIdentificador()
    {
        return $this->numIdentificador;
    }
    
    /**
     * Set identificador
     *
     * @param integer $identificador
     * @return Jugador
     */
    public function setIdentificador($identificador)
    {
        $this->identificador = $identificador;

        return $this;
    }

    /**
     * Get identificador
     *
     * @return integer 
     */
    public function getIdentificador()
    {
        return $this->identificador;
    }
    
    /**
     * Set fecNac
     *
     * @param integer $fecNac
     * @return Jugador
     */
    public function setFecNac($fecNac)
    {
        $this->fecNac = $fecNac;

        return $this;
    }

    /**
     * Get fecNac
     *
     * @return integer 
     */
    public function getFecNac()
    {
        return $this->fecNac;
    }

    /**
     * Set estadisticas
     *
     * @param string $estadisticas
     * @return Jugador
     */
    public function setEstadisticas($estadisticas)
    {
        $this->estadisticas = $estadisticas;

        return $this;
    }

    /**
     * Get estadisticas
     *
     * @return string 
     */
    public function getEstadisticas()
    {
        return $this->estadisticas;
    }
    
    /**
     * Add estadistica
     *
     */
    public function addEstadistica(Estadistica $estadistica)
    {
    
    	$this->estadisticas->add($estadistica);
    }
    
    
    /**
     * Remove estadistica
     *
     */
    public function removeEstadistica(Estadistica $estadistica)
    {
    	$this->estadisticas->removeElement($estadistica);
    }
    
    
    public function __toString()
    {
        return strval($this->getUsuario()->getSlug());
    }
}
